草庐IT

java try finally 阻止关闭流

全部标签

java - ZipFile 关闭后 ZipEntry 是否仍然存在?

我目前在我的库中有一个似是而非的资源泄漏,因为我打开了一个ZipFile,因此某个ZipEntry的返回InputStream没有关闭。但是,关闭返回的InputStream不会关闭ZipFile的其余部分,所以我一直保持打开状态。有没有办法安全地关闭ZipFile并保留InputStream以供返回? 最佳答案 这是InputStreamfromZipFile的实现:/**Innerclassimplementingtheinputstreamusedtoreada*(possiblycompressed)zipfileentry

java - Closeable JTabbedPane - 关闭按钮的对齐方式

我已经实现了自己的可关闭JTabbedPane(基本上遵循了here的建议-通过扩展JTabbedPane并覆盖一些方法并调用setTabComponentAt(...))。它完美地工作,除了一件事-当有太多选项卡无法放在一行时(当有2行或更多行选项卡时),十字按钮/图标未与选项卡右侧对齐,但它保持在旁边标签标题,看起来很难看。我试过Java教程中的演示,它遇到了同样的问题。我想要的是十字按钮/图标始终对齐到最右边,但文本始终对齐到中心。这可以通过一些布局技巧来实现吗?注意:我不想实现自定义TabbedPaneUI,因为这会导致其他问题。更新我被迫使用Java6完整代码如下,只需运行它

java - 我需要在浏览器关闭或选项卡关闭后终止 session 并执行一项功能

我想在浏览器关闭或选项卡关闭后终止session。我需要在session过期后使用session监听器进行一次数据库连接。但是,为此我需要等到session销毁。这是session销毁时执行的代码。publicvoidsessionDestroyed(HttpSessionEventevent){synchronized(this){//System.out.println("deletion");ServletContextapplication=event.getSession().getServletContext();sessionCount=(Integer)applicat

java - "tail -f"JSch连接关闭后进程不会退出

我使用JSch在远程计算机中跟踪文件。但是我发现程序退出后,“tail-f”进程仍然存在于远程计算机中。如果我删除“-f”参数,一切正常。我试过使用“sendSignal()”,但它不起作用。似乎该功能未由OpenSSH实现。这是测试代码。publicstaticvoidmain(String[]args)throwsException{Stringusr=args[0];Stringhost=args[1];Stringpassword=args[2];JSchjsch=newJSch();Sessionsession=jsch.getSession(usr,host);String

java - 在 Java 中创建离屏框架(或当所有应用程序窗口关闭时为 : how to avoid a blank menu on a Mac,)?

我正在制作一个Mac应用程序,我希望我的菜单栏看起来正确。任何Mac用户都知道菜单栏应该位于顶部屏幕菜单中。在属性列表文件中将apple.laf.useScreenMenuBar设置为true可以摆脱框架内的菜单栏,并将当前聚焦窗口的菜单栏移动到屏幕菜单.但是,当所有窗口都隐藏或没有窗口时,没有菜单栏可以移动到顶部,你只会得到一个空白菜单。我听说解决这个问题的方法是创建一个屏幕外窗口,在没有其他窗口时聚焦。它的唯一目的是它的菜单,以便它可以在其他菜单消失时填写。但是,我遇到了很多问题。我似乎无法将窗口移出屏幕,因为Mac不允许您将坐标设置为超过屏幕大小的值;它只是将其切断并将其定位在边

java - 如何阻止 GMail 将电子邮件中的嵌入图像显示为附件?

我正在发送带有嵌入图像(作为附件)的HTML电子邮件,图像在GMail中按预期显示。然而,它们也显示为电子邮件下的附件。有谁知道如何避免这种情况,即我只希望它们出现在电子邮件中,而不是作为附件列出。我使用了“Content-Disposition:inline”。我正在使用Spring和JavaMail。这是我的邮件最终的样子。谁能看出哪里出了问题?Delivered-To:......Subject:...MIME-Version:1.0Content-Type:multipart/mixed;boundary="----=_Part_0_1248835444.12882463111

java - 如何检测程序 java 强制从 Windows 任务管理器关闭?

如果我问了这样一个菜鸟问题冒犯了某人,伙计们很抱歉,因为我看到有人因为不合适而“标记了”问题。这是我第一次在这里提问,如有不当请见谅,如果我的英语不是很好,请见谅。当我的程序已通过任务管理器关闭时,我正在尝试创建一个临时文件...但我不知道如何检测我的程序是否已通过任务管理器关闭!!!我该怎么做?我在谷歌上搜索了很多,但要么我使用了错误的关键字,要么互联网上没有简单的解决方案。我希望这里有人可以帮助我。提前致以最诚挚的问候和感谢。 最佳答案 要捕获通过任务管理器的“应用程序”选项卡发送的SIGTERM或WM_CLOSE等常规终止请求

java - 从 java 执行 groovy 脚本时如何阻止对某些类的访问?

我对groovy和一般用java编写脚本还很陌生,我真的希望有一个简单的解决方案来解决我的问题。在我们的应用程序中,用户可以执行他们编写的groovy脚本他们自己,我们需要控制这些脚本能做什么,不能做什么。我读了很多关于沙盒groovy的东西,但要么我正在看错误的地方,或者我忽略了显而易见的地方。为了简单起见,我有一个小例子来演示这个问题。这是我的类加载器,它应该防止java.lang.System被加载并可供脚本使用:publicclassMyClassLoaderextendsClassLoader{@OverridepublicClassloadClass(Stringname)

java - 为什么可以从已经关闭的 ByteArrayOutputStream 中读取数据?

我想知道为什么您仍然可以从已经关闭的ByteArrayOutputStream中读取字节。文档中的这一行不是相反的意思吗?publicvoidclose():Closesthisstream.Thisreleasessystemresourcesusedforthisstream.示例代码:Stringdata="Somestring...";ByteArrayOutputStreambOut=newByteArrayOutputStream();DataOutputStreamdOut=newDataOutputStream(bOut);dOut.write(data.getByte

java - 如何使用 Netty 关闭异步 Http 请求的 AsyncHttpClient?

将AsyncHttpClient与Netty提供程序一起使用将防止主程序在我们执行异步请求时终止。例如,以下程序是否在println之后终止,取决于提供者是JDKAsyncHttpProvider还是NettyAsyncHttpProvider:publicclassProgram{publicstaticCompletableFuturegetDataAsync(Stringuri){finalAsyncHttpClientasyncHttpClient=newAsyncHttpClient();finalCompletableFuturepromise=newCompletable